home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 476-500 / disk_498 / cpalette / src / includes / texts.asm < prev    next >
Assembly Source File  |  1992-05-06  |  2KB  |  85 lines

  1. * TEXTS.ASM
  2.  
  3. ; TEXT SUPPORT ROUTINES
  4.  
  5. ; MAKE AND PRINT NEW ITEXT.  RETURNS NEW ITEST STRUCTURE IN D0
  6.  
  7. PRINTNEWAT MACRO
  8.  MOVE.L \1,A0        ;\1 <- WINDOW
  9.  LEA \2,A1        ;\2 <- TEXT
  10.  MOVE.W #\3,D0        ;\3 <- LEFT
  11.  MOVE.W #\4,D1        ;\4 <- TOP
  12.  BSR _PRINTTEXT        ;\5 <- ERROR
  13.  TST.L D0
  14.  BEQ \5
  15.  ENDM
  16.  
  17. ; PRINT EXISTING INTUITEXT STRUCTURE
  18.  
  19. PRINTOLDAT MACRO
  20.   MOVE.L \1,A0        ;\1 <- WINDOW
  21.   MOVE.L \2,A1        ;\2 <- ITEXT
  22.   MOVE.W #\3,D0        ;\3 <- LEFT
  23.   MOVE.W #\4,D1        ;\4 <- TOP
  24.   BSR _PRINTTXT
  25.  ENDM
  26.  
  27. ; MAKE AN INTUITEXT, RETURN ADDRESS IN D0
  28.  
  29. MAKEITEX MACRO
  30.  LEA \1,A0        ;\1 <- TEXT
  31.  BSR MAKEATEXT        ;\2 <- ERROR
  32.  TST.L D0        ;\3 <- RESULTPTR
  33.  BEQ \2
  34.  MOVE.L D0,\3
  35.  ENDM
  36.  
  37. MAKEATEXT
  38.  PUSHREG A0        ;A0 <- N.T. TEXT PTR
  39.  REMEMBERPUBMEM REMEMBERKEY,#SIZE.IT,ERR_MITEXT
  40.  MOVE.L D0,A0
  41.  PULLREG A1
  42.  PUSHREG A0
  43.  BSR CREATETEXT
  44.  PULLREG D0
  45.  RTS
  46. ERR_MITEXT
  47.  PULLREG A0
  48.  RTS
  49.  
  50. CREATETEXT
  51.  MOVE.B #1,IT.FRONTPEN(A0)    ;A0 <- INTUITEXT SIZED MEM BLOCK
  52.  MOVE.B #JAM1,IT.DRAWMODE(A0)    ;A1 <- NULL TERMINATING TEXT
  53.  MOVE.W #2,IT.LEFTEDGE(A0)
  54.  MOVE.W #2,IT.TOPEDGE(A0)
  55.  MOVE.L A1,IT.TEXT(A0)
  56.  RTS
  57.  
  58. _PRINTTEXT
  59.  PUSHREG D0-D1/A0        ;A0 <- WINDOW PTR
  60.  PUSHREG A1            ;A1 <- N.T. TEXT
  61.  REMEMBERPUBMEM REMEMBERKEY,#SIZE.IT
  62.  TST.L D0            ;D0 <- LEFTEDGE
  63.  BEQ.S ERR_TEXT            ;D1 <- TOPEDGE
  64.  MOVE.L D0,A0
  65.  PULLREG A1
  66.  BSR CREATETEXT
  67.  MOVE.L A0,A1
  68.  MOVE.L A1,_THISITEXT
  69.  PULLREG D0-D1/A0
  70.  
  71. _PRINTTXT
  72.  MOVE.L WW.RPORT(A0),A0        ;A0 <- WINDOW
  73.  INTLIB PRINTITEXT        ;A1 <- N.T. TEXT
  74.  MOVE.L _THISITEXT,D0
  75.  RTS
  76.  
  77. ERR_TEXT
  78.  PULLREG A1
  79.  PULLREG D0-D1/A0
  80.  ZERO D0
  81.  RTS
  82.  
  83. _THISITEXT
  84.   DC.L 0
  85.